Jump to content
  • 0

Нумерация таблиц (<table> в <li>)


derfas1
 Share

Question

Нужно, чтобы таблички были пронумерованы с помощью тегов списка:


<ol>
<li><table>...</table></li>
<li><table>...</table></li>
</ol>

Отступ в этом случае происходит, а вот номер пропадает. Как быть?

Использование тегов списка обязательно. А вот с таблицей можно поиграться. Использую её, так как нужно, чтобы в списке на одной строке располагались две колонки: одна с основным текстом, а вторая у правого края страницы с дополнительными сносками и ссылками. Каждая такая новая таблица формируется при помощи специального макроса, в котором и передаются значения двух этих столбцов из базы данных. Передаются динамически, по запросу пользователя, при указании соответствующего макроса на вики-странице.

Link to comment
Share on other sites

Recommended Posts

  • 0

А в каком браузере происходит бяка? И можно ли увидеть пример?

Как оказалось, браузеры Opera, IExplorer и Firefox, каждый по разному обрабатывают этот случай.

1. Опера попросту не выводит нумерацию сохраняя отступ.

2. Эксплорер выводит нумерацию, после которой идет сама таблица со смещением на строку.

3. Файерфокс выводит таблицу без смещения, однако нумерация при этом смещена к нижней границе выводимой справа таблицы.

Такие дела. Ни один браузер не выполнил то, что хотелось получить - номер в списке и на одном уровне с ним справа таблица. Вопрос до сих пор в силе.

Link to comment
Share on other sites

  • 0

Хз... вроде везде работает. В старых операх и ИЕ6 наверно не прокатит.


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title></title>

<style type="text/css">
li {
margin: 5px 0;
}

table {
display: inline-table;
width: 100%;
border-spacing: 0;
border-collapse: collapse;
border: 0;
vertical-align: bottom;
}

table td {
padding: 3px 5px;
border: #000 1px solid;
}
</style>
</head>
<body>

<ol>
<li>
<table cellspacing="0">
<tbody>
<tr>
<td>1</td>
<td>2</td>
</tr>
</tbody>
</table>
</li>
<li>
<table cellspacing="0">
<tbody>
<tr>
<td>1</td>
<td>2</td>
</tr>
</tbody>
</table>
</li>
<li>
<table cellspacing="0">
<tbody>
<tr>
<td>1</td>
<td>2</td>
</tr>
</tbody>
</table>
</li>
</ol>

</body>
</html>

Link to comment
Share on other sites

  • 0

border-spacing не везде работает (ИЕ7 к примеру)

Так ведь оно вообще тут не нужно, у тебя же коллапсится всё и так :facepalmxd:

display: inline-table; - а вот эта тема не пашет в ИЕ6-7 кстати.

Link to comment
Share on other sites

  • 0

Хз, я у камрада Эрика подсмотрел и с тех пор пишу так.

display: inline-table; - а вот эта тема не пашет в ИЕ6-7 кстати.

Знаю, что не пашет. Но в ИЕ7 (ИЕ9 в режиме ИЕ7) все вроде как и так хорошо. Можно до кучи наверное hasLayout врубить для <li>. Но вроде и так все работает как надо. Даже Опреа (последняя) почти не подвела.

Link to comment
Share on other sites

  • 0

Так ведь оно вообще тут не нужно, у тебя же коллапсится всё и так :facepalmxd:

display: inline-table; - а вот эта тема не пашет в ИЕ6-7 кстати.

Эх, Максим :)

Это 2 совершенно разных правила, возвращай старую подпись быстра! :)

1-е делает расстояние между ячейками, а второе "сращивает" или нет бордеры, если они указаны.

Link to comment
Share on other sites

  • 0

Эх, Максим :facepalmxd:

Это 2 совершенно разных правила, возвращай старую подпись быстра! :)

1-е делает расстояние между ячейками, а второе "сращивает" или нет бордеры, если они указаны.

Секундочку, секундочку, тут надо разобраться)

Я говорил к тому, что эти сращивания НЕ нужны, если у таблицы и так прописан коллапс :)

Хз, я у камрада Эрика подсмотрел и с тех пор пишу так.

У твоего камрада прописана жёсткая перестраховка. Нормальные пацаны давно уже для себя свой ресет заготовили

Знаю, что не пашет. Но в ИЕ7 (ИЕ9 в режиме ИЕ7) все вроде как и так хорошо. Можно до кучи наверное hasLayout врубить для <li>. Но вроде и так все работает как надо. Даже Опреа (последняя) почти не подвела.

Да везде всё ок :)

Link to comment
Share on other sites

  • 0

Секундочку, секундочку, тут надо разобраться)

Я говорил к тому, что эти сращивания НЕ нужны, если у таблицы и так прописан коллапс :facepalmxd:

если у таблицы в атрибуте прописан селспесинг (ну вот прислали тебе такую аяксом, программисты это умеют), то без обнуления его через стили коллапс не актуален. Скорее именно он здесь лишний.

Link to comment
Share on other sites

  • 0

если у таблицы в атрибуте прописан селспесинг (ну вот прислали тебе такую аяксом, программисты это умеют), то без обнуления его через стили коллапс не актуален. Скорее именно он здесь лишний.

Т.е. коллапс тут лишний? И ты за то, чтобы прописывать атрибут cellspacing="0" у таблиц?

Link to comment
Share on other sites

  • 0

я всегда так делаю.

<table 
cellspacing="0"
cellpadding="0"
border="0" //если на макете таблица без бордеров, в противном случае тут "1", наверно осталось с давних времен, но не мешает, все равно через стили любые атрибуты перебиваются.
class="foo" //тут понятно, если необходимо.
>

Link to comment
Share on other sites

  • 0

я всегда так делаю.

<table 
cellspacing="0"
cellpadding="0"
border="0" //если на макете таблица без бордеров, в противном случае тут "1", наверно осталось с давних времен, но не мешает, все равно через стили любые атрибуты перебиваются.
class="foo" //тут понятно, если необходимо.
>

Блин, ну это же не по фен-шую :facepalmxd:

Link to comment
Share on other sites

  • 0

Не, тут я закостенел, скорее. Таблице, по сути, атрибуты не нужны, да и вообще, никому не нужны стилевые атрибуты.

Когда в проекте не один, и кто-то постоянно лезет к тебе своими безразличными к верстке программистскими пальцами - вынужден обострить все воспоминания и стараться обходить все возможные косяки.

Link to comment
Share on other sites

  • 0

Не, тут я закостенел, скорее. Таблице, по сути, атрибуты не нужны, да и вообще, никому не нужны стилевые атрибуты.

Когда в проекте не один, и кто-то постоянно лезет к тебе своими безразличными к верстке программистскими пальцами - вынужден обострить все воспоминания и стараться обходить все возможные косяки.

Уфф, слава богу, тогда я спокоен :facepalmxd:

Link to comment
Share on other sites

  • 0


table{
padding : 0;
border : 0;
border-collapse: collapse;
}
table tr td{
margin : 0;
padding: 0;
border:0;
}

Может я чего не понимаю - но все вроде бы перекрывает.

Даже при использовании cellpadding\spacing\border..

Что именно и что перекрывает? Объясни поподробнее.

Link to comment
Share on other sites

  • 0

Имел ввиду - можно не использовать cellpadding\cellspacing с нулевыми значениями и пр., чтобы не было расслоения ячеек.

Даже если проставить в таблице cellpadding\cellspacing с любыми значениями - стили выше его перекроют.

Link to comment
Share on other sites

  • 0

Имел ввиду - можно не использовать cellpadding\cellspacing с нулевыми значениями и пр., чтобы не было расслоения ячеек.

Даже если проставить в таблице cellpadding\cellspacing с любыми значениями - стили выше его перекроют.

В ИЕ7 тоже?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy